import scala.beans.BeanProperty
// These are meant to be typed into the REPL. You can also run
// scala -Xnojline < repl-session.scala to run them all at once.
/**
  * 7.4Bean属性
  * JavaBeans规范定义了Java的属性是像getXXX（）和setXXX（）的方法。
  * 许多Java工具都依赖这个命名习惯。
  * 为了Java的互操作性。将Scala字段加@BeanProperty时，
  * 这样的方法会自动生成。
  *
  * Person将会生成四个方法：
  * 1、name:String
  * 2、name_=(newValue:String): Unit3、getName():String
  * 4、setName(newValue:String):Unit
  */

class Person {
   var name : String = "haha"
}

class Person2 {
   @BeanProperty var name : String = "haha"
}
val fred = new Person
//fred.setName("Fred")
//fred.getName


val fred2 = new Person2
fred2.setName("Fred")
fred2.getName

fred2.name
fred2.name = "lebin"
fred2.name_=("shenmsafaf")



fred.name
fred.name="shenm"
fred.name_=("shenmsafaf")
